Visual Basic (Declaration) | |
---|---|
Public Overloads Function TryUpdate( _ ByVal key As TKey, _ ByVal value As TValue, _ ByVal comparisonValue As TValue _ ) As Boolean |
Parameters
- key
- The object to use as the key of the element to update.
- value
- The new value for the key if found.
- comparisonValue
- The value that is compared to the value of the element with key.
Return Value
Returns true if the key provided was found and updated to the value.Library/Library.Test/TestLurchTable.cs
C# | Copy Code |
---|---|
var data = new LurchTableTest<int, string>(); Assert.IsTrue(data.TryAdd(1, "a")); Assert.IsFalse(data.TryAdd(1, "a")); Assert.IsTrue(data.TryUpdate(1, "a")); Assert.IsTrue(data.TryUpdate(1, "c")); Assert.IsTrue(data.TryUpdate(1, "d", "c")); Assert.IsFalse(data.TryUpdate(1, "f", "c")); Assert.AreEqual("d", data[1]); Assert.IsTrue(data.TryUpdate(1, "a", data[1])); Assert.AreEqual("a", data[1]); Assert.IsFalse(data.TryUpdate(2, "b")); string val; Assert.IsTrue(data.TryRemove(1, out val) && val == "a"); Assert.IsFalse(data.TryRemove(2, out val)); Assert.AreNotEqual(val, "a"); Assert.IsFalse(data.TryUpdate(1, (k, x) => x.ToUpper())); data[1] = "a"; data[1] = "b"; Assert.IsTrue(data.TryUpdate(1, (k, x) => x.ToUpper())); Assert.AreEqual("B", data[1]); |
VB.NET | Copy Code |
---|---|
Dim data As var = New LurchTableTest(Of Integer, String)() Assert.IsTrue(data.TryAdd(1, "a")) Assert.IsFalse(data.TryAdd(1, "a")) Assert.IsTrue(data.TryUpdate(1, "a")) Assert.IsTrue(data.TryUpdate(1, "c")) Assert.IsTrue(data.TryUpdate(1, "d", "c")) Assert.IsFalse(data.TryUpdate(1, "f", "c")) Assert.AreEqual("d", data(1)) Assert.IsTrue(data.TryUpdate(1, "a", data(1))) Assert.AreEqual("a", data(1)) Assert.IsFalse(data.TryUpdate(2, "b")) Dim val As String Assert.IsTrue(data.TryRemove(1, val) AndAlso val = "a") Assert.IsFalse(data.TryRemove(2, val)) Assert.AreNotEqual(val, "a") Assert.IsFalse(data.TryUpdate(1, Function(k, x) x.ToUpper())) data(1) = "a" data(1) = "b" Assert.IsTrue(data.TryUpdate(1, Function(k, x) x.ToUpper())) Assert.AreEqual("B", data(1)) |
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7